Day-01 到 Day-08,我們從OVN出發,介紹了在OVN如何建立logical switch、logical router,虛擬網路的基本元件。也介紹了localnet、localport這些功能特殊的port。這些都是要實現OpenStack網路功能的基本功,在後面會一而在的重複出現。
Day-09 到 Day-14,我們建立一個單節點的OpenStack,理解到當建立一個OpenStack的Network時,相對應在OVN的logical switch與實體節點的bridge之間的關連。在這一部份,我們會和第一部份做交互驗證,這是我們第二次看到Part-1的內容。
Day-15 到 Day-23,我們建立一個多節點的OpenStack,學習在一個實際的OpenStack上的VM instance,是如何與實體網路互通,達到連到Internet的功能。我們會再一次看到Part-1介紹的原理,是如何套用在多節點的OpenStack,這是我們第三次看到Part-1的內容。
Day-24 到 Day-29,我們對幾個OpenStack特有的進階網路功能,包括Network HA、Distributed FIP、Trunk,分析其運作的原理,了解在OVN上,是如何完成這些功能。
在 OpenStack Neutron 的官方 FAQ 中,列出了採用 OVN 與 OVS 兩種不同方案的比較。但如果不了解 OVN 的運作原理,相信看完這些文字說明仍然會對為什麼 Neutron 在採用 OVN 後能比採用 OVS 還要好一知半解。
在這三十天的學習中,我們從 OVN 架構開始,介紹了基本的邏輯交換器,並了解了 Neutron 如何利用 OVN 來建構 tenant network 等知識。現在再來看一次官網的這份比較,相信一定會有更多的收獲。
最後,讓我們透過這份比較,回顧一下這三十天所學到的知識吧。
在官方這份比較表中,也簡單的說明OVS方案的主要原理,至於OVS是如何實現這些機制,有興趣的人可以參考 CloudMan 大神所整理的每天5分鐘玩轉OpenStack。
項目 | networking-ovn |
---|---|
agent/server 之間的溝通 | NorthBound 跟 SouthBound databases 之間的 ovsdb protocol |
l3HA API | 在有多個 network node 時自動開啟 HA 功能 |
DVR API | 沒有可被 distributed 設定,預設即為 distributed |
DVR dataplane | 使用 compute node 的 OpenFlow rules |
E/W traffic | 在所有狀況下都為分散式,直接在 compute node之間傳輸 |
Metadata Service | Metadata 是由各自 compute node 上的 ovnmeta-xxxxx-xxxx-namespace 提供 |
DHCP Service | DHCP 由 ovn-controller 和 OpenFlow 提供,並且是分散在各個 compute node |
Trunk Ports | Trunk ports 在 br-int 透過 OpenFlow rules 來建立,與其連接的 port 會直接接到 br-int |
連續三十天的鐵人賽終於結束了,一開始會整理OVN與OpenStack Network之間的關係,是受到對岸的 CloudMan 大神啟發,他在他所發表的每天5分鐘玩轉OpenStack系列中,詳細介紹了 Neutron 的運作原理,讓我對此有了基本的了解。不過,他的資料整理於2016年左右,那時還沒有 OVN 的方案問世;然而現在,OVN 已成為 OpenStack 預設採用的網路方案,現在想要建置一個採用 OVS 或 Linux Bridge 的測試 OpenStack 環境,反而還比較困難呢。
在我看完「每天5分鐘玩轉OpenStack」系列後,卻找不到一份像他介紹 Neutron 那樣詳細的關於 OVN 方案的資料。因此我決定深入研究 OpenStack OVN 網路方案,並透過這次鐵人賽來完成這一塊的介紹。也希望這份介紹,能夠幫助到想深入理解Neutron OVN 方案的人。